iT邦幫忙

2023 iThome 鐵人賽

DAY 25
0
Cloud Native

帶著MBP在異世界探險的科技宅系列 第 25

Docker 打包專案與推上DockerHub

  • 分享至 

  • xImage
  •  

回到前幾天DEMO的部分,需要先將我的專案進行打包,在我們建置專案時選擇使用Maven這個工具,Maven有多強大就留給各位延伸學習了,這邊我會示範如何使用Maven將專案進行打包。

Application 打包成 jar檔

1.來到右側欄找到Maven,根據我圖片的路徑找到package這項功能
https://ithelp.ithome.com.tw/upload/images/20230825/20139136m47dATYQBD.png
2.按下後可以看到Build Success
https://ithelp.ithome.com.tw/upload/images/20230825/20139136wpz2reVnWw.png
3.找尋生成jar檔
https://ithelp.ithome.com.tw/upload/images/20230825/20139136wZA50CAC9E.png

Dockerfile

要將自己的專案進行打包,就需要撰寫一份關於想打包的內容,需要新增一個檔案名為Dockerfile(沒有副檔名),這邊是我的Dockerfile內容。

#base image
FROM rsunix/yourkit-openjdk17:latest
#指定工作目錄
WORKDIR /app
#將jar包複製到容器中
ADD target/*.jar app.jar
#將application.properties複製到容器中
ADD target/classes/application.properties target/classes/application.properties
#暴露端口 8080
EXPOSE 8080
#執行jar包
ENTRYPOINT ["java","-jar","app.jar","--spring.config.location=target/classes/application.properties"]

打包

使用指令為

docker build -t spring-boot-itdemo .

這樣即可打包剛剛寫好的Dockerfile了,打包成功後就可以使用

docker image ls

就可以看到剛打包的訊息
https://ithelp.ithome.com.tw/upload/images/20230825/20139136dC2dAQLiMm.png

上傳DockerHub

首先你需要有DockerHub的帳號,沒有的話記得先去註冊一個,推上DockerHub 有一個比較龜毛的事情,就是在命名上要有帳號名稱/印象檔名稱的tag才能上傳,甚麼意思呢。

回到剛剛打包好的訊息
https://ithelp.ithome.com.tw/upload/images/20230825/20139136dC2dAQLiMm.png
在看看我的帳號名稱,通常在登入DockerHub的這裡
https://ithelp.ithome.com.tw/upload/images/20230830/20139136I7VKlwbbcW.png

現在我們要對這包image加點工,使用

docker tag 080509015774 allenku0/spring-boot-itdemo

080509015774 為這包image 的 id,後面則是我想添加的標籤,結果如下。
https://ithelp.ithome.com.tw/upload/images/20230830/20139136d639TwoV4v.png
這樣就完成前置作業了,可以推上DockerHub了

docker push allenku0/spring-boot-itdemo

這裡預設會推上的registery就是DockerHub

最後可以上DockerHub確認一下
https://ithelp.ithome.com.tw/upload/images/20230830/20139136vLK3MkVIam.png

最後貼心提醒,如果看到類似這種訊息
https://ithelp.ithome.com.tw/upload/images/20230830/201391369sPFy1l6GF.png

記得要把Docker Desktop打開也就是我們的Docker Engine~!!!

好!!咱們今天先暫時到這裡,由於我有進行資料庫的串接,目前啟動應該會出現一點問題,我們明天會解決,加上介紹另一種方法來部署。各位敬請期待~


上一篇
Docker 介紹
下一篇
Docker Compose 啟動多個Image
系列文
帶著MBP在異世界探險的科技宅30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言